1. Field of the Invention
This invention relates to an asynchronous input and output (I/O) control system, and more particularly to an asynchronous I/0 control system in a data processing system which executes a parallel processing of a plurality of user programs having different processing priorities.
2. Description of the Related Art
A conventional asynchronous I/O control system is disclosed in a paper by Kobayashi et al. entitled "Operating System A-VX", in NEC Technical Journal, Vol. 43, No. 7, pp. 103-106, NEC Corporation, 1990.
The asynchronous I/O control system comprises a disk buffer pool which is an I/O buffer area for disk secured on a main storage device, an asynchronous I/O control part which writes data, written on the disk buffer pool by a write instruction issued by a user program, to the disk asynchronously with the write instruction issued by the user program, rather than immediately writing the data physically to the disk, and back-up memories which hold the contents of the disk buffer pool.
The conventional asynchronous I/O control system has an effect of improving the throughput of a series of write processings by asynchronously executing the issuance of a write instruction of a user program and the physical write processing of data to a disk by the asynchronous I/O control part as in the above.
In addition, in the conventional asynchronous I/O control system, there is a possibility that the data transferred from the user program together with the write instruction is held on the disk buffer pool for a certain period of time. Therefore, if a read instruction for the data is issued from another user program during the holding period, it is possible to transfer the data to the user program without carrying out the read processing from the disk, so that it has an effect that there is a possibility of improving the throughput of the read processing.
However, in the conventional asynchronous I/O control system, in spite of the fact that a CPU is assigned according to a set priority for a processing other than the input and output processing of a user program, a certain priority is assigned to the asynchronous I/O control part which carries out the input and output for a disk without reflecting the priority of the user program. Consequently, the conventional system has a problem in that the throughput of overall user programs is not fully improved according to the priority.
Moreover, in the conventional asynchronous I/O control system, user programs having high priorities are preferentially executed so that data read or written by these user programs with high priorities are accumulated in the data buffer pool. As a result, when a user program having low priority data that has already been read once, the issues a read instruction again to the same data, there arises a case in which the data buffer pool used last time is carried off by another user program with higher priority and the data expected to be stored in the data buffer pool is lost elsewhere. In such a case, it is necessary to read the data again from the disk, which leads to the problem that the improvement of the throughput of the read processing is obstructed.